return samples;
}
+
+
+
static inline long
conv_yA8_cairo32_le (unsigned char *src, unsigned char *dst, long samples)
{
return samples;
}
+static inline long
+conv_y8_cairo32_le (unsigned char *src, unsigned char *dst, long samples)
+{
+ long n = samples;
+ while (n--)
+ {
+ unsigned char val = *src++;
+ *dst++ = val;
+ *dst++ = val;
+ *dst++ = val;
+ *dst++ = 0xff;
+ }
+ return samples;
+}
+
+static inline long
+conv_y16_cairo32_le (unsigned char *src, unsigned char *dst, long samples)
+{
+ long n = samples;
+ uint16_t *s16 = (void*)src;
+ while (n--)
+ {
+#define div_257(a) ((((a)+128)-(((a)+128)>>8))>>8)
+ uint16_t v16 = *s16++;
+ unsigned char val = div_257(v16);
+#undef dib_257
+ *dst++ = val;
+ *dst++ = val;
+ *dst++ = val;
+ *dst++ = 0xff;
+ }
+ return samples;
+}
+
static long
conv_rgbA_gamma_float_cairo32_le (unsigned char *src,
unsigned char *dst,
babl_conversion_new (babl_format ("Y'A u16"), f32, "linear",
conv_yA16_cairo32_le, NULL);
+
+ babl_conversion_new (babl_format ("Y' u8"), f32, "linear",
+ conv_y8_cairo32_le, NULL);
+ babl_conversion_new (babl_format ("Y' u16"), f32, "linear",
+ conv_y16_cairo32_le, NULL);
+
babl_conversion_new (babl_format ("RGBA float"), f32, "linear",
conv_rgbafloat_cairo32_le, NULL);
$base_path/tools/babl-verify "RGBA float" "$format" "x"
$base_path/tools/babl-verify "$format" "R'G'B'A float" "x"
$base_path/tools/babl-verify "R'G'B'A float" "$format" "x"
-$base_path/tools/babl-verify "$format" "CIE Lab float" "x"
-$base_path/tools/babl-verify "CIE Lab float" "$format" "x"
$base_path/tools/babl-verify "$format" "cairo-ARGB32"
$base_path/tools/babl-verify "$format" "RaGaBaA float"
$base_path/tools/babl-verify "RGBA float" "$format"
$base_path/tools/babl-verify "$format" "R'G'B'A float"
$base_path/tools/babl-verify "R'G'B'A float" "$format"
-$base_path/tools/babl-verify "$format" "CIE Lab float"
-$base_path/tools/babl-verify "CIE Lab float" "$format"